package com.yanqu.road.entity.log;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.activity.shushan.ShuShanPropertiesInfo;

import java.util.Map;

/**
 * @Description 蜀山修行日志
 * @Author cwq
 * @Data 2022/3/26 18:18
 */
@FieldTypeAnnotation(tableName = "t_l_activity_shushan_exercise_record")
public class LogShuShanExerciseRecord {

    @FieldTypeAnnotation(desc = "活动id")
    private long activityId;
    @FieldTypeAnnotation(desc = "用户id")
    private long userId;
    @FieldTypeAnnotation(desc = "弟子id")
    private int id;
    @FieldTypeAnnotation(desc = "修行技能id")
    private int skillId;
    @FieldTypeAnnotation(desc = "需要修行的次数")
    private int totalTimes;
    @FieldTypeAnnotation(desc = "快速修行的次数")
    private int goodExerciseTimes;
    @FieldTypeAnnotation(desc = "是否通过建筑升级来完成修炼")
    private boolean isUpBuild;
    @FieldTypeAnnotation(desc = "修行前仙力值")
    private long oldValue;
    @FieldTypeAnnotation(desc = "修行前仙力情况")
    private Map<Integer, ShuShanPropertiesInfo> oldPropertiesInfo;

    @FieldTypeAnnotation(desc = "修行后仙力值")
    private long newValue;
    @FieldTypeAnnotation(desc = "修行后仙力情况")
    private Map<Integer, ShuShanPropertiesInfo> newPropertiesInfo;

    @FieldTypeAnnotation(desc = "实际修炼结束时间 s")
    private long endTime;

    @FieldTypeAnnotation(desc = "该记录时间 s")
    private long time;

    public LogShuShanExerciseRecord(long activityId, long userId, int id, int skillId, int totalTimes, int goodExerciseTimes,boolean isUpBuild, long oldValue, Map<Integer, ShuShanPropertiesInfo> oldPropertiesInfo, long newValue, Map<Integer, ShuShanPropertiesInfo> newPropertiesInfo, long endTime, long time) {
        this.activityId = activityId;
        this.userId = userId;
        this.id = id;
        this.skillId = skillId;
        this.totalTimes = totalTimes;
        this.goodExerciseTimes = goodExerciseTimes;
        this.isUpBuild = isUpBuild;
        this.oldValue = oldValue;
        this.oldPropertiesInfo = oldPropertiesInfo;
        this.newValue = newValue;
        this.newPropertiesInfo = newPropertiesInfo;
        this.endTime = endTime;
        this.time = time;
    }

    public long getActivityId() {
        return activityId;
    }

    public void setActivityId(long activityId) {
        this.activityId = activityId;
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getSkillId() {
        return skillId;
    }

    public void setSkillId(int skillId) {
        this.skillId = skillId;
    }

    public int getTotalTimes() {
        return totalTimes;
    }

    public void setTotalTimes(int totalTimes) {
        this.totalTimes = totalTimes;
    }

    public int getGoodExerciseTimes() {
        return goodExerciseTimes;
    }

    public void setGoodExerciseTimes(int goodExerciseTimes) {
        this.goodExerciseTimes = goodExerciseTimes;
    }

    public boolean isUpBuild() {
        return isUpBuild;
    }

    public void setUpBuild(boolean upBuild) {
        isUpBuild = upBuild;
    }

    public long getOldValue() {
        return oldValue;
    }

    public void setOldValue(long oldValue) {
        this.oldValue = oldValue;
    }

    public Map<Integer, ShuShanPropertiesInfo> getOldPropertiesInfo() {
        return oldPropertiesInfo;
    }

    public void setOldPropertiesInfo(Map<Integer, ShuShanPropertiesInfo> oldPropertiesInfo) {
        this.oldPropertiesInfo = oldPropertiesInfo;
    }

    public long getNewValue() {
        return newValue;
    }

    public void setNewValue(long newValue) {
        this.newValue = newValue;
    }

    public Map<Integer, ShuShanPropertiesInfo> getNewPropertiesInfo() {
        return newPropertiesInfo;
    }

    public void setNewPropertiesInfo(Map<Integer, ShuShanPropertiesInfo> newPropertiesInfo) {
        this.newPropertiesInfo = newPropertiesInfo;
    }

    public long getEndTime() {
        return endTime;
    }

    public void setEndTime(long endTime) {
        this.endTime = endTime;
    }

    public long getTime() {
        return time;
    }

    public void setTime(long time) {
        this.time = time;
    }
}
